home *** CD-ROM | disk | FTP | other *** search
- AROS notes:
- -----------
- [Andreas R. Kleinert <Andreas_Kleinert@t-online.de]
-
- - made some changes to Aaron's sources to get
- them compiled with SAS/C 6.58
- - AROS version longer longer included: you can
- find it within the AROS distribution itself, now
-
-
- [Aaron Digulla <digulla@fh-konstanz.de> ]
-
-
- I have ported this source to AROS on Linux.
-
- It works with AROS V1.11+. Eventually, it will become part of
- the AROS Library Generation Tools.
-
- Some of this problems are announced to be fixed with gcc V2.8.0 .
-
- The size of the library is 852 bytes code and 188 bytes data. The file
- size is 80935 including full debug infos.
-
-
- I made the following changes:
-
- makefile.aros:
- added
-
- Startup.c:
- SampleFuncs.h:
- LibInit.c:
- SampleFuncs.c:
- AROS has it's own way to define functions which belong into a library.
- A library function is declared like this:
-
- AROS_LH1 (ULONG, foo,
- AROS_LHA (APTR, bar, D0),
- struct LibBase *, LibBase, 7, Demo
- )
-
- This creates a function which is called "foo" for the library "Demo".
- The function returns ULONG and gets a single parameter bar which is
- an APTR in D0 (if D0 is available; on systems where there are no
- registers, for example in intel CPUs, the arguments will be passed
- on the stack). The function will get a hidden parameter called "LibBase"
- in A6 or on the stack. The type of "LibBase" is "struct LibBase *".
- The function is the 7th (counting begins by 0 which is LibInit; 1 is
- LibOpen, 2 is LibClose, 3 is LibExpunge, 4 is LibFuncExt, 5 is the
- first library specific function). Macros are available for upto 15
- parameters.
-
- If you replace AROS_LH1 by AROS_LC1, then you can call a function of
- a library.
-
- This special format is used by a couple of tools which generate
- all header files (proto, pragma, clib, etc) and the autodocs from
- the source.
-
- proto/example.h
- Include the AROS headers for libraries.
-
- defines/example.h
- Added this file. It contains macros which are expanded into AROS_LCx
- macros which call the actual function.
-
- Have fun.
-
-